package es.yporqueno.cargadores {
	
	import flash.events.Event;
	import flash.net.URLLoader;
	import flash.net.URLLoaderDataFormat;

	public class CargadorXml extends AbstractCargadorDatos {
		
		public function CargadorXml() {
			super();
			super.init();
			_loader.dataFormat = URLLoaderDataFormat.TEXT;
			_type = CargadorDataTypes.XML;
		}

		// Funciones Privadas -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
		override protected function loaderComplete(e:Event):void {
			//ya se puede reconocer el tipo de error al cargar el XML usando try y catch
			try {
				_data = new XML(URLLoader(e.target).data);
				super.loaderComplete(e);
			} catch(e:TypeError) {
				var evento:CargadorEvent = new CargadorEvent(CargadorEvent.COMPLETE);
				evento.exito = false;
				evento.errorText = e.message;
				dispatchEvent(evento);
			}
			
		}
		
	}
}